#include "../import/head.h"
#include "helper_odbc.h"
#include "../import/import.h"
#include "../data_struct/head.h"
#include "../global/head.h"
#include "../macro/head.h"
#include "../msg/head.h"
#include "odbc_init_load.h"

////////////////////////////////////////////////////////////////////////////////////////////
// 

namespace xos_sgsj
{

    //////////////////////////////////////////////////////////////////////////////////////////////////////////
    // 

    helper_odbc::helper_odbc()
    {
    }

    helper_odbc::~helper_odbc()
    {
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // proc

	// 
	// do load work
	// 
    int helper_odbc::run_task( xos::i_msg * pMsg )
    {
        int ret = 0;

		int nCmd = pMsg->get_int( 1, 0 );

		switch( nCmd )
		{
		case DB_OPT_INIT_LOAD:
			{
				odbc_init_load obj;
				ret = obj.run_task( pMsg );
				pMsg = 0;
			}
			break;
		}

		if( pMsg )
		{
			pMsg->release();
			pMsg = 0;
		}

        return ret;
    }

	// 
	// disp load result
	// 
    int helper_odbc::proc( xos::i_msg * pMsg )
    {
        int ret = 0;

		int nCmd = pMsg->get_int( 0, 0 );

		switch( nCmd )
		{
		case OPT_INIT_LOAD_DB:
			{
				odbc_init_load obj;
				ret = obj.proc( pMsg );
				pMsg = 0;
			}
			break;
		}

		if( pMsg )
		{
			pMsg->release();
			pMsg = 0;
		}

        return ret;
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // 

	int helper_odbc::init_load( session * pSession )
	{
		int ret = 0;

		odbc_init_load obj;
		ret = obj.run( pSession );

		return ret;
	}
	
} // xos_sgsj
